<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>8-子组件向父组件传值-基本用法</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <style></style>
  </head>
  <body>
    <div id="app">
      <!-- 4：此时就能够，点击子，触发父，会让父组件中的文字变大 -->
      <div :style='{fontSize: fSize + "px"}'>{{info}}</div>
      <!-- 2：自定义事件，触发父组件的处理函数 -->
      <son-ming @get-father-size="fatherSize"></son-ming>
    </div>
    <script>
      Vue.component('sonMing', {
        data: function () {
          return {
            sonInfo: '我是小明，点我让爸爸变胖',
          };
        },
        // 1：发布自定义事件
        template: `<div @click='$emit("get-father-size")'>{{sonInfo}}</div>`,
      });
      var vm = new Vue({
        el: '#app',
        data: {
          info: '爸爸大明',
          fSize: 20,
        },
        methods: {
          // 3：父组件处理自己的事件处理函数
          fatherSize: function () {
            this.fSize += 5;
          },
        },
      });
    </script>
  </body>
</html>
